package com.ssy.lingxi.member.merchant.model.vo.validate.request;

import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.List;

/**
 * 会员流程规则配置 - 新增流程规则接口参数
 * @author 万宁
 * @version 2.0.0
 * @date 2021-05-15
 */
public class MemberProcessAddVO implements Serializable {
    private static final long serialVersionUID = -1607608917878381881L;

    /**
     * 流程规则名称
     */
    @NotBlank(message = "流程规则名称不能为空")
    @Size(max = 48, message = "流程规则名称最长48个字符")
    private String ruleName;

    /**
     * 角色Id
     */
    @NotNull(message = "角色Id要大于0")
    @Positive(message = "角色Id要大于0")
    private Long roleId;

    /**
     * 会员入库流程Id，如果大于0则新增
     */
    @NotNull(message = "会员入库流程Id要大于等于0")
    @PositiveOrZero(message = "会员入库流程Id要大于等于0")
    private Long depositoryProcessId;

    /**
     * 资料变更流程Id，如果大于0则新增
     */
    @NotNull(message = "资料变更流程Id要大于等于0")
    @PositiveOrZero(message = "资料变更流程Id要大于等于0")
    private Long changedProcessId;

    /**
     * 会员注册资料Id列表，空或Null-表示不选
     */
    private List<Long> configIds;

    public String getRuleName() {
        return ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public Long getDepositoryProcessId() {
        return depositoryProcessId;
    }

    public void setDepositoryProcessId(Long depositoryProcessId) {
        this.depositoryProcessId = depositoryProcessId;
    }

    public Long getChangedProcessId() {
        return changedProcessId;
    }

    public void setChangedProcessId(Long changedProcessId) {
        this.changedProcessId = changedProcessId;
    }

    public List<Long> getConfigIds() {
        return configIds;
    }

    public void setConfigIds(List<Long> configIds) {
        this.configIds = configIds;
    }
}
